Conventional communication systems allow the user of a device, such as a personal computer or mobile device, to conduct voice or video calls over a packet-based computer network such as the Internet. Such communication systems include voice or video over internet protocol (VoIP) systems. These systems are beneficial to the user as they are often of significantly lower cost than conventional fixed line or mobile cellular networks. This may particularly be the case for long-distance communication. To use a VoIP system, the user installs and executes client software on their device. The client software sets up the VoIP connections as well as providing other functions such as registration and user authentication. In addition to voice communication, the client may also set up connections for other communication media such as instant messaging (“IM”), SMS messaging, file transfer, screen sharing, whiteboard sessions and voicemail.
A user device equipped with a camera and a display may be used to conduct a video call with another user(s) of another user device(s) (far-end user(s)). Video of a user of the user device (near-end user) is captured via their camera. The video may be processed by their client to, among other things, compress it and covert it to a data stream format for transmission via the network to the far end user(s). A similarly compressed video stream may be received from (each of) the far-end user(s), decompressed and outputted on the display of the near-end user's device. A video stream may for example be transmitted via one or more video relay servers, or it may be transmitted “directly” e.g. via a peer-to-peer connection. The two approaches may be combined so that one or more streams of a call are transmitted via server(s) and one or more other streams of the call are transmitted directly.